package com.chengfei.house.common.result;

import com.google.common.base.Joiner;
import com.google.common.collect.Maps;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;

/**
 * @author chengfei cheng.fei@chinaott.onaliyun.com
 **/
public class ResultMsg {
    private static final String errorMsgKey = "errorMsg";
    private static final String successMsgKey = "successMsg";
    private String errorMsg;
    private String successMsg;
    public boolean isSuccess(){
        return null == errorMsg;
    }
    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public String getSuccessMsg() {
        return successMsg;
    }

    public void setSuccessMsg(String successMsg) {
        this.successMsg = successMsg;
    }

    public static ResultMsg successMsg(String msg){
        ResultMsg resultMsg = new ResultMsg();
        resultMsg.setSuccessMsg(msg);
        return resultMsg;
    }
    public static ResultMsg errorMsg(String msg){
        ResultMsg resultMsg = new ResultMsg();
        resultMsg.setErrorMsg(msg);
        return resultMsg;
    }

    public Map<String,String> asMap(){
        Map<String,String> map = Maps.newHashMap();
        map.put(errorMsgKey,errorMsg);
        map.put(successMsgKey,successMsg);
        return map;
    }

    public String asUrlParams(){
        Map<String,String> map = asMap();
        Map<String,String> newMap = Maps.newHashMap();
        map.forEach((k,v)->{
            if(v!=null)
                try {
                    newMap.put(k, URLEncoder.encode(v,"utf-8"));
                } catch (UnsupportedEncodingException e) {

                }});
        return Joiner.on("&").useForNull("").withKeyValueSeparator("=").join(newMap);
    }
}
